package com.cleaningcloud.cld.service;

import com.cleaningcloud.cld.domain.CldComplaints;
import com.cleaningcloud.cld.domain.dto.CldComplaintsDto;
import com.cleaningcloud.cld.domain.vo.CldComplaintsVo;

import java.util.List;

/**
 * 客诉与处置Service接口
 *
 * @author cleaningcloud
 * @date 2024-10-17
 */
public interface ICldComplaintsService {
    /**
     * 查询客诉与处置
     *
     * @param complaintsId 客诉与处置主键
     * @return 客诉与处置
     */
    CldComplaintsVo selectCldComplaintsByComplaintsId(Long complaintsId);

    /**
     * 查询客诉与处置列表
     *
     * @param cldComplaints 客诉与处置
     * @return 客诉与处置集合
     */
    List<CldComplaintsVo> selectCldComplaintsList(CldComplaintsDto cldComplaints);

    /**
     * 客诉与处置统计
     *
     * @param cldComplaintsDto
     * @return
     */
    List<CldComplaintsVo> selectCldComplaintsGroupProjectList(CldComplaintsDto cldComplaintsDto);

    /**
     * 新增客诉与处置
     *
     * @param cldComplaints 客诉与处置
     * @return 结果
     */
    int insertCldComplaints(CldComplaints cldComplaints);

    /**
     * 修改客诉与处置
     *
     * @param cldComplaints 客诉与处置
     * @return 结果
     */
    int updateCldComplaints(CldComplaints cldComplaints);


    /**
     * 批量删除客诉与处置
     *
     * @param complaintsIds 需要删除的客诉与处置主键集合
     * @return 结果
     */
    int deleteCldComplaintsByComplaintsIds(Long[] complaintsIds);

    /**
     * 删除客诉与处置信息
     *
     * @param complaintsId 客诉与处置主键
     * @return 结果
     */
    int deleteCldComplaintsByComplaintsId(Long complaintsId);
}
